package com.cgnpc.scp.hse.mybatis.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cgnpc.scp.common.bean.MyPageRequest;
import com.cgnpc.scp.common.utils.DateUtil;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;
import java.util.List;

@TableName(value = "tbl_hse_checkoptionsconfig")
public class HseCheckOptionsConfig extends MyPageRequest {
    public static final String PARENTID_ROOT = "0";

    /**
     * 需要检查；值0不需要；1需要，不改变节点的值；2为随意填写的值，即能修改option_text，option_text_en；
     */
    public static final int NEEDINSPECTION_0 = 0;

    /**
     * 需要检查；值0不需要；1需要，不改变节点的值；2为随意填写的值，即能修改option_text，option_text_en；
     */
    public static final int NEEDINSPECTION_1 = 1;

    /**
     * 需要检查；值0不需要；1需要，不改变节点的值；2为随意填写的值，即能修改option_text，option_text_en；
     */
    public static final int NEEDINSPECTION_2 = 2;

    /**
     * 是否检查；值Y已检查；N未检查；默认N；
     */
    public static final String ISINSPECTION_Y = "Y";

    /**
     * 是否检查；值Y已检查；N未检查；默认N；
     */
    public static final String ISINSPECTION_N = "N";

    @TableId
    private String id;

    private String parentId;

    private String meetingInfoId;

    private String commonConfigId;

    private String commonConfigParentId;

    private Integer orderIndex;

    private String optionText;

    private String optionTextEn;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    private String createUser;

    private String createUserName;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastUpdateTime;

    private String lastUpdateUser;

    private String lastUpdateUserName;

    private String inspectionUser;

    private String inspectionUserName;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date inspectionTime;

    private String optionValue;

    private Integer needInspection;

    private String isInspection;

    // begin 自定义字段
    @TableField(exist = false)
    private List<HseCheckOptionsConfig> children;
    // end 自定义字段

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    public String getParentId() {
        return parentId;
    }

    public void setParentId(String parentId) {
        this.parentId = parentId == null ? null : parentId.trim();
    }

    public String getMeetingInfoId() {
        return meetingInfoId;
    }

    public void setMeetingInfoId(String meetingInfoId) {
        this.meetingInfoId = meetingInfoId == null ? null : meetingInfoId.trim();
    }

    public String getCommonConfigId() {
        return commonConfigId;
    }

    public void setCommonConfigId(String commonConfigId) {
        this.commonConfigId = commonConfigId == null ? null : commonConfigId.trim();
    }

    public String getCommonConfigParentId() {
        return commonConfigParentId;
    }

    public void setCommonConfigParentId(String commonConfigParentId) {
        this.commonConfigParentId = commonConfigParentId == null ? null : commonConfigParentId.trim();
    }

    public Integer getOrderIndex() {
        return orderIndex;
    }

    public void setOrderIndex(Integer orderIndex) {
        this.orderIndex = orderIndex;
    }

    public String getOptionText() {
        return optionText;
    }

    public void setOptionText(String optionText) {
        this.optionText = optionText == null ? null : optionText.trim();
    }

    public String getOptionTextEn() {
        return optionTextEn;
    }

    public void setOptionTextEn(String optionTextEn) {
        this.optionTextEn = optionTextEn == null ? null : optionTextEn.trim();
    }

    public Date getCreateTime() {
        return DateUtil.cloneNewDate(createTime);
    }

    public void setCreateTime(Date createTime) {
        this.createTime = DateUtil.cloneNewDate(createTime);
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser == null ? null : createUser.trim();
    }

    public String getCreateUserName() {
        return createUserName;
    }

    public void setCreateUserName(String createUserName) {
        this.createUserName = createUserName == null ? null : createUserName.trim();
    }

    public Date getLastUpdateTime() {
        return DateUtil.cloneNewDate(lastUpdateTime);
    }

    public void setLastUpdateTime(Date lastUpdateTime) {
        this.lastUpdateTime = DateUtil.cloneNewDate(lastUpdateTime);
    }

    public String getLastUpdateUser() {
        return lastUpdateUser;
    }

    public void setLastUpdateUser(String lastUpdateUser) {
        this.lastUpdateUser = lastUpdateUser == null ? null : lastUpdateUser.trim();
    }

    public String getLastUpdateUserName() {
        return lastUpdateUserName;
    }

    public void setLastUpdateUserName(String lastUpdateUserName) {
        this.lastUpdateUserName = lastUpdateUserName == null ? null : lastUpdateUserName.trim();
    }

    public String getInspectionUser() {
        return inspectionUser;
    }

    public void setInspectionUser(String inspectionUser) {
        this.inspectionUser = inspectionUser == null ? null : inspectionUser.trim();
    }

    public String getInspectionUserName() {
        return inspectionUserName;
    }

    public void setInspectionUserName(String inspectionUserName) {
        this.inspectionUserName = inspectionUserName == null ? null : inspectionUserName.trim();
    }

    public Date getInspectionTime() {
        return DateUtil.cloneNewDate(inspectionTime);
    }

    public void setInspectionTime(Date inspectionTime) {
        this.inspectionTime = DateUtil.cloneNewDate(inspectionTime);
    }

    public String getOptionValue() {
        return optionValue;
    }

    public void setOptionValue(String optionValue) {
        this.optionValue = optionValue == null ? null : optionValue.trim();
    }

    public Integer getNeedInspection() {
        return needInspection;
    }

    public void setNeedInspection(Integer needInspection) {
        this.needInspection = needInspection;
    }

    public String getIsInspection() {
        return isInspection;
    }

    public void setIsInspection(String isInspection) {
        this.isInspection = isInspection == null ? null : isInspection.trim();
    }

    public List<HseCheckOptionsConfig> getChildren() {
        return children;
    }

    public void setChildren(List<HseCheckOptionsConfig> children) {
        this.children = children;
    }
}